METHOD
if_srm_sp_visual_query_win~query_sps_single_result.
DATA: lo_backend TYPE REF TO z_if_srm_flight_backend,
lv_carrid TYPE s_carr_id,
lv_connid TYPE s_conn_id,
lt_sp_poid TYPE srm_list_poid,
ls_sp_poid TYPE srmpoid,
lo_poid TYPE REF TO if_srm_poid.
lo_backend ?=me->if_srm_sp_client_obj~get_content_
connection_object( ).
lv_carrid = lo_backend->get_carrier_id( ).
CALL FUNCTION 'Z_SEARCH_FLIGHT'
EXPORTING
iv_carrid = lv_carrid
IMPORTING
ev_connid = lv_connid
EXCEPTIONS
user_cancelled = 1
OTHERS = 2.
IF sy-subrc = 0.
ls_sp_poid-id = 'CONNECTION_ID'.
ls_sp_poid-value = lv_connid.
APPEND ls_sp_poid TO lt_sp_poid.
lo_poid = me->if_srm_sp_object~get_poid( ).
lo_poid->set_sp_poid( lt_sp_poid ).
request->set_result( lo_poid ).
request->set_activity_state(
if_srm_request=>activity_query_finished_ok ).
ELSE.
request->set_activity_state(
if_srm_request=>activity_canceled_by_user ).
ENDIF.
ENDMETHOD.